#pragma once
#include "Station.h"
#include "constant.h"

class Airport :
	public Station
{
private:
	vector<int> arrivalList;
	int finalAirstripUse;
	void FinalAirstripUse(int val) { finalAirstripUse = val; }
	int AirstripAvailTime() { return finalAirstripUse + AIRSTRIPDELAY; }

	int intoDelaySum;
	void addIntoDelay(int val) { intoDelaySum += val; }
	int outofDelaySum;
	void addOutofDelay(int val) { outofDelaySum += val; }

public:
	void pushEvent(Transport* transport , STATE state);
	void pushEvent(Transport* transport , STATE state , int occurTime);

//	void Arrival(Transport* transport) ;
	void EnterStation(Transport* transport) ;
	void UnloadAndLoad(Transport* transport);
	void Leave(Transport* transport) ;
	bool isRepairNeed() { return true; }
	void Repairing(Transport* transport);

	void printResult(ostream &out);
	Airport(void);
	virtual ~Airport(void);

};
